/*============================================================================*/
/*  Copyright (C) 2009-2011, iSOFT INFRASTRUCTURE SOFTWARE CO.,LTD.
 *  
 *  All rights reserved. This software is iSOFT property. Duplication 
 *  or disclosure without iSOFT written authorization is prohibited.
 *  
 *  
 *  @file       <Can_Irq.h>
 *  @brief      <Can Irq Isr header file>
 *  
 * <Compiler: TASKING V3.5    MCU:TC1782>
 *
 *  @author     <jianan.liu>
 *  @date       <03-18-2014>
 */
/*============================================================================*/
#ifndef  CAN_IRQ_H
#define  CAN_IRQ_H
/*=======[R E V I S I O N   H I S T O R Y]====================================*/
/*  <VERSION>    <DATE>    <AUTHOR>    <REVISION LOG>
 *  V1.0.0       20140318  jianan.liu   Initial version
 */
/*============================================================================*/

/*=======[I N C L U D E S]====================================================*/
#include "ComStack_Types.h"
#include "Can_Cfg.h"

/*=======[V E R S I O N  I N F O R M A T I O N]===============================*/
/* @req <CAN085> Source File Version Information  */
#define CAN_IRQ_H_AR_MAJOR_VERSION  2
#define CAN_IRQ_H_AR_MINOR_VERSION  4
#define CAN_IRQ_H_AR_PATCH_VERSION  0

#define CAN_IRQ_H_SW_MAJOR_VERSION  1
#define CAN_IRQ_H_SW_MINOR_VERSION  0
#define CAN_IRQ_H_SW_PATCH_VERSION  1

/*=======[E X T E R N A L   F U N C T I O N   D E C L A R A T I O N S]========*/

#define CAN_START_SEC_CODE_FAST
#include "Can_MemMap.h"

/******************************************************************************/
/*
 * Brief               <CAN 0 BusOff Interrupt Service Routine process>
 * Param-Name[in]      <None>
 * Param-Name[out]     <None>
 * Param-Name[in/out]  <None>
 * Return              <None>
 * PreCondition        <None>
 * CallByAPI           <None>
 */
/******************************************************************************/
extern FUNC(void, CAN_CODE_FAST) Can_0_BusOffISR(void);

/******************************************************************************/
/*
 * Brief               <CAN 1 BusOff Interrupt Service Routine process>
 * Param-Name[in]      <None>
 * Param-Name[out]     <None>
 * Param-Name[in/out]  <None>
 * Return              <None>
 * PreCondition        <None>
 * CallByAPI           <None>
 */
/******************************************************************************/
extern FUNC(void, CAN_CODE_FAST) Can_1_BusOffISR(void);

/******************************************************************************/
/*
 * Brief               <CAN 2 BusOff Interrupt Service Routine process>
 * Param-Name[in]      <None>
 * Param-Name[out]     <None>
 * Param-Name[in/out]  <None>
 * Return              <None>
 * PreCondition        <None>
 * CallByAPI           <None>
 */
/******************************************************************************/
extern FUNC(void, CAN_CODE_FAST) Can_2_BusOffISR(void);

/******************************************************************************/
/*
 * Brief               <CAN 0 Rx Interrupt Service Routine process>
 * Param-Name[in]      <None>
 * Param-Name[out]     <None>
 * Param-Name[in/out]  <None>
 * Return              <None>
 * PreCondition        <None>
 * CallByAPI           <None>
 */
/******************************************************************************/
extern FUNC(void, CAN_CODE_FAST) Can_0_RxISR(void);

/******************************************************************************/
/*
 * Brief               <CAN 1 Rx Interrupt Service Routine process>
 * Param-Name[in]      <None>
 * Param-Name[out]     <None>
 * Param-Name[in/out]  <None>
 * Return              <None>
 * PreCondition        <None>
 * CallByAPI           <None>
 */
/******************************************************************************/
extern FUNC(void, CAN_CODE_FAST) Can_1_RxISR(void);

/******************************************************************************/
/*
 * Brief               <CAN 2 Rx Interrupt Service Routine process>
 * Param-Name[in]      <None>
 * Param-Name[out]     <None>
 * Param-Name[in/out]  <None>
 * Return              <None>
 * PreCondition        <None>
 * CallByAPI           <None>
 */
/******************************************************************************/
extern FUNC(void, CAN_CODE_FAST) Can_2_RxISR(void);

/******************************************************************************/
/*
 * Brief               <CAN 0 Tx Interrupt Service Routine process>
 * Param-Name[in]      <None>
 * Param-Name[out]     <None>
 * Param-Name[in/out]  <None>
 * Return              <None>
 * PreCondition        <None>
 * CallByAPI           <None>
 */
/******************************************************************************/
extern FUNC(void, CAN_CODE_FAST) Can_0_TxISR(void);

/******************************************************************************/
/*
 * Brief               <CAN 1 Tx Interrupt Service Routine process>
 * Param-Name[in]      <None>
 * Param-Name[out]     <None>
 * Param-Name[in/out]  <None>
 * Return              <None>
 * PreCondition        <None>
 * CallByAPI           <None>
 */
/******************************************************************************/
extern FUNC(void, CAN_CODE_FAST) Can_1_TxISR(void);

/******************************************************************************/
/*
 * Brief               <CAN 2 Tx Interrupt Service Routine process>
 * Param-Name[in]      <None>
 * Param-Name[out]     <None>
 * Param-Name[in/out]  <None>
 * Return              <None>
 * PreCondition        <None>
 * CallByAPI           <None>
 */
/******************************************************************************/
extern FUNC(void, CAN_CODE_FAST) Can_2_TxISR(void);

extern FUNC(void,    CAN_CODE)   Can_TxProcess(uint8 Controller);

extern FUNC(void,    CAN_CODE)   Can_RxProcess(uint8 Controller);

extern FUNC(void,    CAN_CODE)   Can_BusOff_Handler(uint8 Controller);

#define CAN_STOP_SEC_CODE_FAST
#include "Can_MemMap.h"

#endif  /* #ifndef  CAN_IRQ_H */

/*=======[E N D   O F   F I L E]==============================================*/



